﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace BussinessLogic.Models
{
    public class QuestionnaireMaintenance
    {
        public int ID { get; set; }
        public List<Question> Questions { get; set; }
        public bool IsRunning { get; set; }
        public string Name { get; set; }
    }

    public class Question
    {
        public int ID { get; set; }
        public string Text { get; set; }
        public List<QMultiChoiceAnswer> Answers { get; set; }
        public bool HasFreeAnswer { get; set; }
        public bool HasMultipleChoice { get; set; }
    }

    public class QMultiChoiceAnswer
    {
        public int ID { get; set; }
        public string Text { get; set; }
        public int Value { get; set; }
    }

    public class QuestionnaireDaily
    {
        public int ID { get; set; }
        public string Name { get; set; }
        public string Description { get; set; }
        public List<DailyQuestion> Questions { get; set; }
    }

    public class DailyQuestion
    {
        public int ID { get; set; }
        public int Position { get; set; }
        public string Text { get; set; }
        public List<DailyAnswer> Answers { get; set; }
        public bool HasFreeAnswer { get; set; }
        public bool HasMultipleChoice { get; set; }
    }

    public class DailyAnswer
    {
        public int ID { get; set; }
        public string Text { get; set; }
        public int Position { get; set; }
    }

    public class QuestionnaireResult
    {
        public bool IsForApproval { get; set; }
        public string UserName { get; set; }
        public int StudyID { get; set; }
        public List<QuestionResult> Questions { get; set; }
        public int Score { get; set; }

        public int ProtocolActivityId { get; set; }
        public int ProtocolSessionId { get; set; }
        public int ProtocolGroupId { get; set; }

        public int RemainingCrtActivity { get; set; }
        public int RemainingCrtSession { get; set; }
        public int RemainingCrtGroup { get; set; }

        public int ActivityID { get; set; }
    }

    public class QuestionResult
    {
        public int ID { get; set; }
        public bool HasFreeAnswer { get; set; }
        public bool HasMultipleChoice { get; set; }
        public string FreeAnswer { get; set; }
        public int SingleAnswerID { get; set; }
        public List<int> Answers { get; set; }
        public int Score { get; set; }
    }
}
